Electronic design automation (EDA) tools are used to facilitate the design and testing of complex electronic circuitry. These systems provide tools for inputting both the schematic drawing for a circuit and the layout of the actual physical components on a semiconductor substrate or printed circuit board. For example, a transmission line in the schematic is represented in the layout by two physical conductors having defined widths and lengths that overlap one another on two different layers in the layout. The designer can alter the physical dimensions and placement of the components in the layout view during the layout process. In addition, the sizes and other parameters of the layout components can be optimized by the EDA tools during testing and optimization of the circuit parameters.
The schematic view and circuit layout view are typically linked such that the components of the circuit in the layout view remain connected during the editing of the layout view in the layout tools. As the user moves objects in the layout view, connectivity can be broken. Connectivity can also be broken when the user moves components connected by a trace in the layout view such that the conductor now includes a break. The layout software attempts to maintain connectivity in the layout view by providing constructs or actual wires that are introduced to complete the connection that was broken. In one system, the layout engine adds a physical wire to the layout that reconnects the two separated components. These wires can give rise to production errors if the wires are not manually removed at the end of the layout process. In another system, “Flight Wires” are introduced for this purpose. The Flight Wires are automatically removed when the connection is restored.
Similarly, when two objects in the layout are moved such that they overlap, an overlap region is formed that is indicated by specific pattern on the display that is automatically inserted by the layout engine. These overlaps signal that the objects need to be joined to form a single conductor. Again, the generation of these constructs is not under the control of the user.
In schematic driven modes of design, the software attempts to maintain synchronization between the layout and the schematic. In complex layouts, the number of these constructs and their locations can inhibit the designer's ability to efficiently input the design. In addition, the models used for maintaining connectivity during the layout process vary depending on the particular EDA product, and hence, users of one system can have difficulty when they are forced to work in a different system.